package co.fitstart.admin.handler;

import java.util.Date;
import java.util.List;

import co.fitstart.admin.entity.report.HourlySchedule;
import co.fitstart.admin.entity.report.WeeklySchedule;
import co.fitstart.entity.site.Site;

/**
 * 
 * @author Ysy
 *
 */
public interface ScheduleReportHandler {
    
    /**
     * 
     * @param view
     * @param hourlySchedules
     * @param beginDate
     * @param endDate
     * @param coaches
     * @return
     */
    public List<WeeklySchedule> generateWeeklySchedules(String view, List<HourlySchedule> hourlySchedules, Date beginDate, Date endDate, List<String> coaches);
    

    /**
     * 
     * @param courseSchedules
     * @param restSchedules
     * @param beginDate
     * @param endDate
     * @param coaches
     * @param site
     * @return
     */
    public List<HourlySchedule> generateHourlySchedules(List<HourlySchedule> courseSchedules, List<HourlySchedule> restSchedules, Date beginDate, Date endDate, List<String> coaches, Site site);
}
